package com.cy.mapper;

import com.cy.entity.Address;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 时间：2023/1/6
 */
public interface AddressMapper {
    /**
     * 插入用户的收货地址
     * @param address
     * @return
     */
    Integer insert(Address address);

    /**
     * 根据用户的id统计收获地址数量
     * @param uid
     * @return
     */
    Integer countByUid(Integer uid);

    List<Address> findByUid(Integer uid);

    Address findByAid(Integer aid);

    Integer updateNonDefault(Integer uid);

    /**
     * 将指定的收货地址设置为默认地址
     * @param aid 收货地址id
     * @param modifiedUser 修改执行人
     * @param modifiedTime 修改时间
     * @return 受影响的行数
     */
    Integer updateDefaultByAid(
            @Param("aid") Integer aid,
            @Param("modifiedUser") String modifiedUser,
            @Param("modifiedTime") Date modifiedTime);

    /**
     * 根据收货地址id删除收货地址数据
     * @param aid 收货地址id
     * @return
     */
    Integer deleteByAid(Integer aid);

    /**
     * 根据用户uid查询当前用户最后一次被修改的收获地址数据
     * @param uid 用户id
     * @return
     */
    Address findLastModified(Integer uid);
}
